package io.terminus.paas.profiler.service

import io.terminus.paas.profiler.model.Provider

/**
 * Created by gengrong on 16/3/18.
 * 提供操作服务提供者的相关接口
 */
interface ProviderService {

    /**
     * 启用提供者
     * @param providerId 提供者ID
     */
    fun enableProvider(registryAddress: String, providerId: Long)

    /**
     * 禁用提供者
     * @param providerId 提供者ID
     */
    fun disableProvider(registryAddress: String, providerId: Long)

    /**
     * 删除提供者
     * @param providerId 提供者ID
     */
    fun deleteProvider(registryAddress: String, providerId: Long)

    /**
     * 根据服务ID查询相关提供者
     * @param serviceId 服务ID
     * @return 该服务提供者列表
     */
    fun findProviderByServiceId(registryAddress: String, serviceId: String): List<Provider>

    /**
     * 根据提供者ID查询其相信信息
     * @param providerId 提供者ID
     * @return 该提供者详细信息
     */
    fun getDetailByProviderId(registryAddress: String, providerId: Long): Provider

}